package org.code.boot.mapper.boot;

import java.util.List;
import org.code.boot.domain.boot.BizTrainSeatConfig;

/**
 * 火车座位配置Mapper接口
 * 
 * @author coder
 * @date 2025-08-28
 */
public interface BizTrainSeatConfigMapper 
{
    /**
     * 查询火车座位配置
     * 
     * @param seatConfigId 火车座位配置主键
     * @return 火车座位配置
     */
    public BizTrainSeatConfig selectBizTrainSeatConfigBySeatConfigId(Long seatConfigId);

    /**
     * 查询火车座位配置列表
     * 
     * @param bizTrainSeatConfig 火车座位配置
     * @return 火车座位配置集合
     */
    public List<BizTrainSeatConfig> selectBizTrainSeatConfigList(BizTrainSeatConfig bizTrainSeatConfig);

    /**
     * 根据火车ID查询座位配置列表
     * 
     * @param trainId 火车ID
     * @return 火车座位配置集合
     */
    public List<BizTrainSeatConfig> selectBizTrainSeatConfigByTrainId(Long trainId);

    /**
     * 新增火车座位配置
     * 
     * @param bizTrainSeatConfig 火车座位配置
     * @return 结果
     */
    public int insertBizTrainSeatConfig(BizTrainSeatConfig bizTrainSeatConfig);

    /**
     * 修改火车座位配置
     * 
     * @param bizTrainSeatConfig 火车座位配置
     * @return 结果
     */
    public int updateBizTrainSeatConfig(BizTrainSeatConfig bizTrainSeatConfig);

    /**
     * 删除火车座位配置
     * 
     * @param seatConfigId 火车座位配置主键
     * @return 结果
     */
    public int deleteBizTrainSeatConfigBySeatConfigId(Long seatConfigId);

    /**
     * 批量删除火车座位配置
     * 
     * @param seatConfigIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBizTrainSeatConfigBySeatConfigIds(Long[] seatConfigIds);

    /**
     * 根据火车ID删除座位配置
     * 
     * @param trainId 火车ID
     * @return 结果
     */
    public int deleteBizTrainSeatConfigByTrainId(Long trainId);
}